Voice communication system and voice communication method

ABSTRACT

A voice communication system, which is connected to a LAN to which communication terminals are connected and to a public network to which telephones are connected, is provided with a communication server between the LAN and public network having different protocols from each other. The communication server enables a voice communication between a telephone on the public network and a communication terminal connected to the LAN by performing processing similar to that for a voice communication between two communication terminals connected to the LAN. The communication server determines whether an address of the other party inputted by a user is a communication terminal address or a telephone number, and transmits a voice communication request to a communication terminal of the other party when the address is a communication terminal address. When the address is a telephone number, the user acquires the communication terminal address of the communication server, and transmits a voice communication request to the communication server. Thereafter, the voice communication processing is performed through the communication server.

CROSS-REFERENCES

This is a continuation application of U.S. Ser. No. 11/717,062, filedMar. 13, 2007, which is a continuation application of U.S. Ser. No.11/319,737, filed Dec. 29, 2005, which is a continuation application ofU.S. Ser. No. 09/836,299, filed Apr. 18, 2001, now U.S. Pat. No.7,167,467, which is a continuation application of U.S. Ser. No.08/743,849, filed Nov. 5, 1996, now U.S. Pat. No. 6,240,085, which is acontinuation application of U.S. Ser. No. 08/357,189, filed Dec. 13,1994, now U.S. Pat. No. 5,604,737.

BACKGROUND OF THE INVENTION

The present invention relates to a voice communication system and methodin communication terminals connected through a communication network.

As a conventional voice communication system, there is known a systemwhich uses a line switching procedure through a line switching networksuch as a telephone network. For example, the standard thereof isindicated in CCITT (International Telegraph and Telephone ConsullativeCommittee) Recommendation, ISDN, Q. 937. In this system, a communicationterminal (telephone) connected to the line switching network transmits avoice communication request to a switching center dedicated to lineswitching processing, and the switching center receiving the requestperforms voice communication control for communication with acommunication terminal (telephone) of the other party. Voice informationsent at a constant speed is continuously transmitted and receivedthrough the switching center even during the voice communication.

In a packet switching network such as LAN (Local Area Network), in turn,the communication control is directly performed between communicationterminals for transmitting and receiving packets. For example,Etherphone using Ethernet is well known.

However, due to the difference in schemes between the packet switchingnetwork and the line switching network, conventional voice communicationsystems such as that using the telephone network and so on cannot beutilized for realizing voice communication between communicationterminals connected to the packet switching network.

To cope with this problem, a system for editing voice information intopackets for transmission and reception between communication terminalshas been proposed for adapting the voice communication scheme forcommunications between communication terminals connected to the packetswitching network to the line switching network. However, even if theline switching network is connected with the packet switching network, adirect voice communication is not permitted between a communicationterminal supporting voice communications between communication terminalsconnected to the packet switching network and a telephone connected tothe line switching network and supporting the conventional voicecommunication function. This is due to the difference between the voicecommunication protocol of the packet switching network and theconventional voice communication protocol.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a voicecommunication system and a voice communication method which enable voicecommunication to be performed between a communication terminal connectedto the packet switching network and a communication terminal connectedto the line switching network.

It is another object of the present invention to provide a voicecommunication system and a voice communication method which enable voicecommunication, even initiated by a communication terminal connected tothe packet switching network to a telephone connected to the lineswitching network and supporting the conventional voice communicationfunctions, to proceed in the same manner as a voice communicationbetween communication terminals connected to the packet switchingnetwork.

It is a further object of the present invention to provide a voicecommunication system and a voice communication method which can transmita message in the form of an electronic mail instead of the voicecommunication in case a voice communication to a communication terminalconnected to the packet switching network is prevented for some reason,without requiring a user to start another program or input acommunication address.

It is a further object of the present invention to provide a voicecommunication system and a voice communication method which allows atelephone connected to the line switching network and supportingconventional voice communication functions to request a voicecommunication to a communication terminal connected to the packetswitching network.

To achieve the above objects, according to one feature of the presentinvention, when a voice communication request is issued from acommunication terminal connected to a packet switching network, if theaddress of the other party to which a user desires to have a voicecommunication, inputted by the user, is a communication terminal address(telephone number) of a telephone connected to a line switching network,communication control is performed between the communication terminaland a communication server to establish a connection between thecommunication terminal and the communication server. The communicationserver performs the communication control for a telephone connected tothe line switching network to set a communication available statebetween the communication server and the telephone. This control enablesa communication between the communication terminal and the telephonethrough the communication server. Thereafter, the communication serverreceives voice information transmitted from the telephone, edits thevoice information into packets, and transmits the packets to thecommunication terminal. The communication server also receives packetstransmitted from the communication terminal, and transmits voiceinformation in the packets to the telephone. In this way, communicationis carried out.

When a voice communication request is issued from a communicationterminal connected to the packet switching network, if the address ofthe other party to which a user desires to have a voice communication,inputted by the user, is the address of another communication terminalconnected to the packet switching network, the communication control isperformed for a communication terminal having the communication terminaladdress, conventionally, to carry out the communication.

When a communication request is issued from a telephone connected to theline switching network to a communication terminal connected to thepacket switching network, each of communication terminals connected tothe packet switching network has previously been assigned a uniqueextension number, such that when the telephone number of thecommunication server is inputted from a telephone, the communicationcontrol is performed between the telephone and the communication serverto create a communication available state between the telephone and thecommunication server, and an inputted extension number is transmittedfrom the telephone to the communication server. The communication serverfinds a communication terminal address from the extension numbertransmitted from the telephone, determines a communication terminal tobe connected, and transmits a voice communication request to thecommunication terminal to establish a connection with the telephone.This enables communication between the telephone and the communicationterminal through the communication server. Thereafter, the communicationserver receives voice information transmitted from the telephone, editsthe voice information into packets, and transmits the packets to thecommunication terminal. The communication server also receives packetstransmitted from the communication terminal, and transmits voiceinformation in the packet to the telephone, thus carrying out thecommunication.

The communication server may comprise a table for finding acommunication terminal address from an extension number. If a push-typetelephone having ten-key and function buttons is used, the extensionnumber may be inputted through the push buttons. For inputting anextension number, an oral guidance may be outputted from thecommunication server to the telephone, such that the user responsivelyinputs an extension number corresponding to a communication terminalwith which the user desires to communicate.

When the line switching network is ISDN (Integrated Services DigitalNetwork), a telephone may transmit a voice communication requestincluding as a parameter an extension number for specifying acommunication terminal to the communication server, such that thecommunication server finds the communication terminal address of acommunication terminal to be connected from the extension numberincluded in the voice communication request.

Instead of assigning an extension number, a unique telephone number maybe assigned to each of communication terminals connected to the packetswitching network. In this case, although these telephone numbers areactually assigned to the communication server, they are regarded astelephone numbers of communication terminals from the user. Then, when atelephone number of a communication terminal is inputted from atelephone, the communication control is performed between the telephoneand the communication server, wherein the communication server finds acommunication terminal address from the telephone number inputted fromthe telephone, determines a communication terminal to be connected, andtransmits a voice communication request to the communication terminal.This control enables a communication between the telephone and thecommunication terminal through the communication server. Thereafter, thecommunication server receives voice information transmitted from thetelephone, edits the voice information into packets, and transmits thepackets to the communication terminal. The communication server alsoreceives packets transmitted from the communication terminal, andtransmits voice information in the packets to the telephone. In thisway, communication is carried out.

Additionally, the communication server may include a table for finding acommunication terminal address from a telephone number. Since atelephone number of each communication terminal is actually thetelephone number of the communication server on the line switchingnetwork, the communication server is called when one of these telephonenumbers is inputted from a telephone on the line switching network.

According to one aspect of the present invention, a communicationterminal connected to the packet switching network may be one thatencodes voice inputted through a voice input means, transmits theencoded voice information, and outputs received encoded voiceinformation after decoding the same. In this case, the communicationserver decodes encoded voice information in the form of packets receivedfrom a communication terminal connected to the packet switching network,outputs the decoded voice information to the line switching network,encodes voice information received from the line switching network at aconstant speed, edits the encoded voice information into packets, andtransmits the packets to the communication terminal.

For issuing a communication request from a communication terminalconnected to the packet switching network to another communicationterminal, a voice communication request is first issued from thecommunication terminal. In this event, a voice communication negatingresponse may be transmitted from the communication terminal of the otherparty. This could be because nobody responds although the communicationterminal of the other party is called. In this case, it is convenient ifa mail can be transmitted to the communication terminal of the otherparty without requiring the inputting of the address of the other party.The mail may be unconditionally transmitted, or a guidance may beprovided to the user of the communication terminal so as to allow theuser to determine whether or not a mail is transmitted. The contents ofthe mail may be a fixed voice mail created by the system or an arbitrarymail inputted by the user.

For issuing a communication request from a telephone connected to theline switching network to a communication terminal connected to thepacket switching network, a voice communication request is first issuedfrom the telephone to the communication server. In this event, aguidance of a voice communication negating response may be returned fromthe communication server. This could be because nobody respondedalthough the communication server called the communication terminal ofthe other party. In this case, it is convenient that a mail can betransmitted to the communication terminal of the other party withoutrequiring the user to input the address of the other party. The mail maybe unconditionally transmitted, or a guidance may be provided to theuser of the telephone so as to allow the user to determine whether amail should be transmitted. The mail may include a fixed contentscreated by the system or arbitrary contents inputted by the user.

Further, a communication terminal on the packet switching network may beused as a switcher terminal for managing the relationships betweencommunication terminals connected to the packet switching network andcommunication terminal users. In this case, when the telephone number ofthe communication server is inputted from a telephone connected to theline switching network and supporting conventional voice communicationfunctions, the communication server first creates a communicationavailable state between the switcher terminal and the telephone. Theuser speaks with a switcher at the switcher terminal to specify a personwith whom the user desires to communicate. Since the switcher terminalmanages the relationships between respective communication terminals andusers of these communication terminals, a corresponding communicationterminal can be found from information which specifies the person withwhom the user of the telephone desires to communicate. The address ofthe communication terminal is transmitted from the switcher terminal tothe communication server. The communication server performs thecommunication control between the telephone and a communication terminalhaving the communication terminal address transmitted from the switcherterminal to establish a connection with the communication terminal. Thiscontrol enables a communication between the communication terminal andthe telephone through the communication server. Thereafter, thecommunication server receives voice information transmitted from thetelephone, edits the voice information into packets, transmits thepackets to the communication terminal. The communication server alsoreceives packets transmitted from the communication terminal, andtransmits voice information in the packets to the telephone.

It should be noted that the transmission and reception of controlcommands such as a voice communication start command, voicecommunication end command, and so on and the transmission and receptionof voice packets between communication terminals on the packet switchingnetwork and between a communication terminal and the communicationserver, may be carried out through separate communication functionshaving different characteristics such as reliability, communicationdelay, and so on.

According to the voice communication system and voice communicationmethod of the present invention, the other party to which the userrequests a voice communication is determined to be a communicationterminal connected to the packet switching network or a telephoneconnected to the line switching network in accordance with the addressof the other party inputted by the user of a communication terminalconnected to the packet switching network. If the user issues therequest to a telephone connected to the line switching network, thecommunication server absorbs the difference between a voicecommunication protocol of the packet switching network and aconventional voice communication protocol of the line switching network.Stated another way, the communication server realizes the compatibilitybetween different kinds of protocols. For this reason, even a voicecommunication initiated by a communication terminal connected to thepacket switching network to a telephone connected to the line switchingnetwork and supporting the conventional voice communication function canbe carried out in the same manner as a voice communication betweencommunication terminals connected to the packet switching network.

Also, since an extension number or a telephone number of a communicationterminal connected to the packet switching network is inputted from atelephone connected to the line switching network such that thecommunication server finds a communication terminal addresscorresponding to the extension number or the telephone number andconnects the telephone to the communication terminal, a voicecommunication may be requested to a communication terminal connected tothe packet switching network from a telephone connected to the lineswitching network and supporting the conventional voice communicationfunctions.

In case a voice communication to a communication terminal was preventedfor some reason, a mail may be used instead of the voice communicationto send a message without requiring the user to start another program orinput a communication address.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the whole configuration of a voicecommunication system according to an embodiment of the presentinvention;

FIG. 2 is a block diagram showing the configuration of a communicationterminal in FIG. 1;

FIG. 3 is a block diagram showing the allocation of programs in a memoryof the communication terminal;

FIG. 4 is a flow chart showing the processing of a voice communicationprogram on the communication terminal for starting a voicecommunication, upon receiving a voice communication request from anothercommunication terminal;

FIG. 5 is a flow chart showing the processing of the voice communicationprogram on the communication terminal for starting a voice communicationby a request of the user;

FIG. 6 is a block diagram showing the configuration of a communicationserver;

FIG. 7 is a block diagram showing the allocation of programs in a memoryof the communication server;

FIG. 8 is a flow chart showing the processing of a voice communicationprogram on the communication server for starting a voice communicationbetween a communication network on LAN and the telephone, upon receivinga call setting request from a telephone connected to a public network;

FIG. 9 is a flow chart showing the processing of the voice communicationprogram on the communication server for starting voice communicationbetween the communication terminal on LAN and a telephone, uponreceiving a voice communication request from a communication terminal onLAN;

FIG. 10 is a flow chart showing the processing performed during acommunication;

FIG. 11 is a sequence diagram showing a procedure followed by acommunication terminal connected to the LAN for making a call to atelephone through the communication server by a request from acommunication terminal on the LAN;

FIG. 12 is a sequence diagram showing a procedure followed by acommunication terminal connected to LAN for making a call to a telephoneconnected to the public network through the communication server by arequest from the telephone;

FIG. 13 shows the structure of a voice communication request command;

FIG. 14 shows the structure of a voice communication response command;

FIG. 15 shows the structure of a voice communication command;

FIG. 16 shows the structure of a voice communication end notice command;

FIG. 17 is a flow chart showing the processing for determining acommunication terminal with which a telephone user desires tocommunicate when using push buttons;

FIG. 18 shows the structure of an extension number management table;

FIG. 19 is a flow chart showing the processing for determining acommunication terminal with which a telephone user desires tocommunicate when a communication terminal on the LAN is utilized as aswitcher terminal;

FIG. 20 is a flow chart showing the processing performed by the switcherterminal;

FIG. 21 shows the structure of a connected terminal determination noticecommand;

FIG. 22 shows the structure of a communication terminal addressmanagement table; and

FIG. 23 is a flow chart showing the processing for determining acommunication terminal with which a telephone user desires tocommunicate when the public network is ISDN.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

An embodiment of the present invention will hereinafter be describedwith reference to the accompanying drawings.

FIG. 1 shows the whole configuration of a voice communication systemaccording to an embodiment of the present invention, includingcommunication terminals 10-1, 10-2 for performing communications; LAN(Local Area Network) 1 to which the communication terminals 10-1, 10-2are connected; a telephone 2; a public network 3; and a communicationserver 20 which is connected simultaneously to the public network 3 andthe LAN 1.

It will be of course understood that while one telephone 2 and twocommunication terminals 10-1, 10-2 (hereinafter, an arbitrarycommunication terminal will be denoted by reference numeral 10) only areshown in FIG. 1, more telephones and communication terminals may beconnected.

FIG. 2 shows in a block diagram form the configuration of thecommunication terminal 10 in FIG. 1. The communication terminal 10comprises a voice input unit 11; a voice encoder 12; a memory 13; a LANcommunication controller 14; a voice decoder 15; a voice output unit 16;a processor 17; and a storage unit 18. The LAN communication controller14 is connected to the LAN 1. The voice encoder 12, voice decoder 15,LAN communication controller 14, memory 13, storage unit 18, andprocessor 17 are mutually connected through an internal bus 19.

The voice input unit 11 is provided for inputting voice information.Inputted voice information is encoded by the voice encoder 12. Codedvoice information outputted from the voice encoder 12 is read into thememory 13, subjected to voice communication control processing, and theninputted to the LAN communication controller 14. Then, the LANcommunication controller 14 transmits the encoded voice information to acommunication terminal on the reception side through the LAN 1.

On the other hand, encoded voice information transmitted from thecommunication terminal on the transmission side through the LAN 1 isread into the memory 13 from the LAN communication controller 14,subjected to voice communication control processing, and inputted to thevoice decoder 15 which decodes the encoded voice information inputtedthereto. The decoded voice information is inputted to the voice outputunit 16. In this way, the received voice is outputted.

The voice communication control processing in the communication terminal10 is carried out by the processor 17 executing a predetermined programbased on voice communication control processing information stored inthe storage unit 18. The voice communication control processing in thecommunication terminal 10 will be late described in detail.

FIG. 3 shows in a block diagram form the allocation of programs in thememory 13. The memory 13 stores a voice communication program 31 forvoice communication control processing and a voice mail program 32.

The voice communication program 31 is a program for receiving a voicecommunication request from a user or a voice communication request fromanother communication terminal through the LAN communication controller14 connected to the internal bus 19, transmitting and receiving voicepackets to and from a communication terminal of the other party, andproviding voice communication functions similar to those of thetelephone. The voice mail program 32 is a program for providing mailmanagement functions such as transmission and reception of voice mails.

FIG. 4 is a flow chart showing the voice communication controlprocessing performed by the voice communication program 31 on thecommunication terminal 10 for starting a voice communication when thecommunication terminal 10 has received a voice communication requestform another communication terminal.

First, the program 31 determines at step 101 whether or not thecommunication terminal 10 is receiving a voice communication requestfrom another communication terminal. If the communication terminal 10 isnot receiving the voice communication request, the program 31 waits forthe voice communication request to be received by the communicationterminal. If, at step 101, the communication terminal 10 has receivedthe voice communication request from another communication terminal, theuser is informed at step 102 that the voice communication request hasreached by displaying the information on the screen, generating an audiooutput, and so on. Then, the program 31 determines at step 103 whetheror not the user has selected the communication.

If the user has selected to reject the communication or does not respondto the request for a predetermined time at step 103, a voicecommunication negating response is returned to the communicationterminal which has sent the voice communication request at step 104,followed by the program 31 returning to step 101 to wait for thereception of the voice communication request from another communicationterminal. If the user has selected to accept the communication at step103, the communication terminal 10 returns a voice communicationaccepting response at step 105, thus establishing a connection betweenthe communication terminal 10 and the external communication terminalwhich has sent the voice communication request. Subsequently, thecommunication processing after step 106 is started.

Specifically, encoded voice information is fetched from the voiceencoder 12 (FIG. 2) at step 106, voice packets are created from thefetched encoded voice information at step 107, and the voice packets aretransmitted to the communication terminal of the other party which hasissued the voice communication request at step 108. Then, the voicecommunication program 31 on the communication terminal 10 determines atstep 109 whether or not the voice packets from the communicationterminal of the other party have been received.

If the voice packets have been received at step 109, encoded voiceinformation in the voice packets are inputted to the voice decoder 15(FIG. 2) at step 110. If the voice packets have not been received atstep 109, or after the encoded voice information has been inputted tothe voice decoder 15 at step 110, the program 31 determines at step 111whether or not a voice communication end notice from the communicationterminal of the other party has been received. If the voicecommunication end notice has been received, the communication isterminated, and the program again waits for the reception of anothervoice communication request from a communication terminal at step 101.

If the voice communication end request has not been received at step111, the program 31 checks at step 112 whether or not the user hasselected to terminate the voice communication. If the user has notselected the termination of the voice communication, the communicationprocessing is continued from step 106. Conversely, if the user hasselected the termination of the voice communication at step 112, a voicecommunication end notice is transmitted to the communication terminal ofthe other party to terminate the communication at step 113. Then theprogram 31 again returns to step 101 to wait for the reception ofanother voice communication request from a communication terminal.

While the foregoing processing procedure shows the voice communicationcontrol processing performed when the communication terminal hasreceived a voice communication request from another communicationterminal for starting the voice communication, it should be noted that“another communication terminal” herein referred to includes thecommunication server 20 in addition to the other communication terminals10 connected to the LAN 1 in FIG. 1. Stated another way, the foregoingprocessing procedure does not distinguish the communication server 20and other communication terminals 10 and treats them as the samecommunication terminals. A voice communication request from thecommunication server 20 means a request from a telephone 2 connected tothe public network 3, as will be later described.

FIG. 5 shows a flow chart of the voice communication control processingperformed when the voice communication program 31 on the communicationterminal 10 starts a voice communication by a request of the user.

Steps 111-113 in FIG. 5 are the same as steps 111-113 in FIG. 4, andstep 128 in FIG. 5 is a collection of steps 106-110 in FIG. 4.

First, the voice communication program 31 determines at step 121 whetheror not the user has selected the communication processing. If the userhas selected an item other than the communication processing, theprogram 31 performs other processing in response to the selection atstep 122. If the user has selected the communication processing at step121, a voice communication request is generated at step 123 using theaddress of the other party inputted by the user. A detailed format ofthe voice communication request will be later described with referenceto FIG. 13. Next, the program 31 determines at step 124 whether or notthe address of the other party with whom the user desires to speak is atelephone number consisting only of a sequence of numeric characters.

At step 124, if the address of the other party inputted by the user is atelephone number consisting only of a sequence of numeric characters,this means that the user has requested a voice communication with atelephone 2 connected to the external public network 3 through thecommunication server 20. In this case, the program 31 acquires at step125 the communication terminal address assigned to the communicationserver 20 which has previously been stored in the storage unit 18 (FIG.2), and treats the communication server 20 as the other party for thecommunication in the subsequent processing.

Conversely, if the address of the other party inputted by the user isnot a telephone number consisting only of a sequence of numericcharacters, the address of the other party can be regarded as theaddress of a communication terminal on the LAN 1. Therefore, this meansthat the user has issued a voice communication request to anothercommunication terminal 10 connected to the LAN 1. In this case, theprogram 31 proceeds the processing, while treating the othercommunication terminal as the other party for the communication.

After determining at steps 124 and 125 the other party to becommunicated, for which the voice communication processing is performed,a voice communication request is generated and transmitted to thecommunication terminal of the other party at step 126. The destinationof the voice communication request is the communication server 20 whenthe other party is a telephone, and the communication terminal itselfwhen the other party is the communication terminal. After step 126, theprogram 31 determines at step 127 whether or not a voice communicationaccepting response has been received from the communicating party. Ifthe voice communication accepting response has been received, this meansthat the connection has been established, so that the communicationprocessing after step 128 is executed. Since the communicationprocessing after step 128 is the same as the foregoing proceduredescribed in connection with FIG. 4, explanation thereon will beomitted.

If no voice communication accepting response has reached at step 127, afailure of communication connection is displayed at step 129. Then, theprogram 31 determines at step 130 whether or not the user requests tosend a voice mail to the other party with whom the communicationconnection has been failed. If the user requests to send the voice mail,an inputted message is transmitted using the voice mail program 32 atstep 131, and the program 31 again returns to step 121 to receive aselection of the user. If no voice mail sending is requested at step130, the program 31 immediately returns to step 121.

It should be noted that a telephone number inputted by the user at step121 may include ‘(’, ‘)’, or ‘-’. In this case, upon determining at step124 whether or not the address is a telephone number, a sequence ofnumeric characters including ‘(’, ‘)’, or ‘-’ is also determined to be atelephone number. Further in this case, steps 130-131 may be omitted. Atsteps 130-131, a text mail or multimedia mail may be used instead of thevoice mail.

FIG. 6 shows in a block diagram form the configuration of thecommunication server 20 in FIG. 1. The communication server 20 comprisesa voice encoder 12; a memory 13′; a LAN communication controller 14; avoice decoder 15; a processor 17; a storage unit 18; and a publicnetwork communication controller 21. The LAN communication controller 14is connected to the LAN 1, while the public network communicationcontroller 21 is connected to the public network 3. The voice encoder12, voice decoder 15, public network communication controller 21, LANcommunication controller 14, memory 13′, storage unit 18, and processor17 are mutually connected through an internal bus 19.

Voice information transmitted through the public network from atelephone is inputted to the voice encoder 12 through the public networkcommunication controller 21. The voice encoder 12 encodes the inputtedvoice information and outputs the encoded voice information. The encodedvoice information outputted from the voice encoder 12 is read into thememory 13′, subjected to voice communication control processing, andthen inputted to the LAN communication controller 14 which transmits theinputted encoded voice information to a communication terminal throughthe LAN 1.

On the other hand, encoded voice information transmitted through the LAN1 from a communication terminal is read into the memory 13′ from the LANcommunication controller 14, subjected to the voice communicationcontrol processing, and then inputted to the voice decoder 15. The voicedecoder 15 decodes the encoded voice information inputted thereto. Thedecoded voice information is inputted to the public networkcommunication controller 21 which in turn transmits the voicerepresented by the voice information through the public network 3 to atelephone.

The voice communication control processing in the communication server20 is carried out by the processor 17 which executes a predeterminedprogram based on voice communication control processing informationstored in the storage unit 18. This voice communication controlprocessing in the communication server 20 will be described later indetail.

FIG. 7 shows the allocation of programs in the memory 13′ of thecommunication server 20. The memory 13′ of the server 20 stores a voicecommunication server program 22 for the voice communication controlprocessing and a voice mail server program 23.

The voice communication server program 22 is a program for accepting acall setting request from a telephone received from the public networkcommunication controller 21 or a voice communication request from acommunication terminal through the LAN communication controller 14connected to the internal bus 19, editing voice packets transmitted fromthe telephone into voice packets, transmitting the voice packets to thecommunication terminal, converting voice packets received from thecommunication terminal to voice information, and transmitting the voiceinformation to the telephone, thus providing voice communicationfunctions between the communication terminal connected to the LAN 1 andthe telephone connected to the public network 3, similar to theconventional functions between telephones.

The voice mail server program 23 is a program for providing a voice mailfunctions of voice mail.

FIG. 8 is a flow chart schematically showing the voice communicationcontrol processing performed when the voice communication server program22 on the communication server 20 has received a call setting requestfrom a telephone 2 connected to the public network 3 (FIG. 1) forstarting a voice communication between the telephone 2 and acommunication terminal 10 connected to the LAN 1.

First, the program 22 determines at step 201 whether or not a callsetting request from the public network 3 has been received. If the callsetting request has not been received, the program 22 continuously waitsfor the call setting request from the public network 2 at step 201. If acall setting request has been received at step 201, a call settingresponse is returned to the public network 3 at step 202 to set a call(whereby a communication available state is set between thecommunication server 20 and the telephone), and the program executes atstep 203 processing for determining a communication terminal to beconnected.

The processing for determining a communication terminal to be connectedat step 203 determines which of communication terminals 10 connected tothe LAN 1 the user utilizing the telephone 2, who has issued the callsetting request, desires to communicate with. Details of the processingwill be later explained in detail with reference to FIG. 17 and so on.

Subsequent to step 203, the program 22 determines at step 204 whether ornot a communication terminal with which the user desires to communicatehas been determined. If it has not been determined, the call is releasedat step 208, and the program 22 again waits for a call setting requestto be received from the public network 3.

If, at step 204, a communication terminal with which the user desires tocommunicate has been determined, a voice communication request istransmitted to the communication terminal at step 205, and then theprogram 22 determines at step 206 whether or not a voice communicationaccepting response has been received from the communication terminal ofthe other party. If the accepting response has been received, whichmeans that a connection between the communication server 20 and thecommunication terminal has been established, the processing during thecommunication is performed at step 207. After the communication isterminated, the call is released at step 208, followed by the program 22returning to step 201 to again wait for the communication server 20 toreceive a call setting request from the public network 3. The processingduring the communication at step 207 will be later described in detailwith reference to FIG. 10.

At step 206, if the voice communication negating response has beenreceived from the communication terminal of the other party, a voicemessage guiding that the other party did not accept the call is sent atstep 209 to the telephone which has issued the call setting request.Then, a guidance for inputting a voice mail is outputted to thetelephone user at step 220, an inputted message is registered at step221 in the voice mail server program 23 in FIG. 7 as a voice mail, andthe call is released at step 208. Then, the program 22 again returns tostep 201 to wait for the communication server 20 to receive a callsetting request from the public network 3.

It should be noted that steps 220-221 may be omitted, and the voice mailserver program 23 may be located on a different communication terminal.

FIG. 9 is a flow chart schematically showing the voice communicationcontrol processing performed when the voice communication server program22 on the communication server 20 has received a voice communicationrequest from a communication terminal connected to the LAN 1 forstarting a voice communication between the communication terminal 10 anda telephone 2 connected to the public network 3. Since steps 207 and 208are the same as those in FIG. 8, explanation thereon will be omitted.

First, the program 22 determines at step 231 whether or not a voicecommunication request has been received from a communication terminal 10connected to the LAN 1. If the voice communication request has not beenreceived from a communication terminal 10, the program 22 remains atstep 231 and waits for the voice communication request to be receivedfrom a communication terminal 10 connected to the LAN 1. If the voicecommunication request has been received at step 231, a call settingrequest is transmitted to the public network 3 for connection with atelephone 2 having the telephone number specified in the voicecommunication request.

After a call setting response has been received from the public network3 at step 233, the program 22 determines at step 234 whether or not theresponse is an accepting response. If it is the accepting response, avoice communication accepting response is returned to the communicationterminal 10 at step 235, and the communication processing after step 207is performed. At step 234, if the response is a negating response, avoice communication negating response is transmitted to thecommunication terminal 10 at step 236, and then the program 22 returnsto step 231 to again wait for a voice communication request to bereceived from a communication terminal 10 connected to the LAN 1.

FIG. 10 is a flow chart of the processing performed in the communicationserver 20 during a communication which has been shown in step 207 inFIGS. 8 and 9.

Steps 106-108 in FIG. 10 are the same as steps 106-108 shown in FIG. 4executed in the communication terminal. Specifically, these stepsperform the processing for encoding voice data inputted from a telephone2 to the public network communication controller 21 (FIG. 6) through thepublic network 3 by the voice encoder 12, creating voice packets, andtransmitting the voice packets to a communication terminal 10 throughthe LAN 1.

Steps 109, 110 in FIG. 10 perform the same processing as steps 109, 110shown in FIG. 4 executed in the communication terminal. Specifically,these steps perform the processing for decoding voice packets inputtedfrom a communication terminal 10 to the LAN communication controller 14(FIG. 6) through the LAN 1 by the voice decoder 15 and transmitting thedecoded voice information to the telephone 2 through the public network3.

Steps 111, 210, 113 in FIG. 10 correspond to steps 111, 112, 113 in FIG.4.

Specifically, the voice communication program 22 on the communicationserver 20 determines at step 111 whether or not a voice communicationend notice has been received from the communication terminal 10. If thevoice communication end notice has been received, the processing duringthe communication is terminated. Conversely, if the voice communicationend notice has not been received at step 111, the program 22 determinesat step 210 whether or not a call releasing request has been receivedfrom the public network 3. If the call releasing request has not beenreceived from the public network 3, the communication processing afterstep 106 is continued. Conversely, at step 210, if the call releasingrequest has been received from the public network 3, a voicecommunication end notice is transmitted to the communication terminal 10at step 113, followed by terminating the communication.

FIG. 11 shows an exemplary sequence of the processing performed when atelephone 2 connected to the public network 3 and a communicationterminal 10 connected to the LAN 1 communicate with each other throughthe communication server 20 by a request from the communication terminal10 connected to the LAN 1 in FIG. 1.

An arrow 401 represents a flow of operations performed by thecommunication terminal 10 connected to the LAN 1; an arrow 402 a flow ofoperations performed by the communication server 20 simultaneouslyconnected to the LAN 1 and the public network 3; and an arrow 403 a flowof operations performed by the telephone 2 connected to the publicnetwork 3. When the user of the communication terminal selects acommunication with a telephone (450), the communication terminaltransmits a voice communication request to the communication server(451). The communication server, upon receiving the voice communicationrequest, responsively transmits a call setting request to the telephone(452), and the telephone, in response to the reception of the callsetting request, generates the ringing signal (453).

When the telephone user takes up the receiver (off-hook, 454), a callsetting response is returned from the telephone to the communicationserver (455). The communication server, in response to the reception ofthis call setting response, transmits a voice communication response tothe communication terminal (456), thereby entering a communicationavailable state (457).

When the user hangs on the receiver (on-hook, 458), a call releasingrequest is transmitted from the telephone to the communication server(459). The communication server, in response to the reception of thecall releasing request, returns a call releasing response to thetelephone (461) and transmits a voice communication end notice to thecommunication terminal (460). The communication terminal, in response tothe reception of the voice communication end notice, terminates thecommunication (462).

FIG. 12 shows an exemplary sequence of the processing performed when atelephone 2 connected to the public network 3 and a communicationterminal 10 connected to the LAN 1 in FIG. 1 communicate with each otherthrough the communication server 20 by a request from the telephone 2connected to the public network 3. Arrows 401-403 shows flows ofoperations performed by the respective parts similarly to FIG. 11.

When the telephone user dials the telephone number of the communicationserver (404), a call setting request is transmitted from the telephoneto the communication server (405). The communication server, in responseto the reception of this call setting request, returns a call settingresponse to the telephone (406), and determines a communication terminalwith which the telephone user desires to communicate through thecommunication server (407).

The communication server transmits a voice communication request to thecommunication terminal determined by the connected communicationterminal determining step (407). The communication terminal receivingthis voice communication request calls the user (409). If the userutilizing the communication terminal selects communication in responseto the call (410), the communication terminal transmits a voicecommunication accepting response to the communication server (411),thereby entering an in-communication state (412).

If the user of the communication terminal selects termination of thecommunication (413), a voice communication end notice is transmittedfrom the communication terminal to the communication server (414). Thecommunication server, in response to the reception of this voicecommunication end notice, transmits a call releasing request to thetelephone (415). The telephone, in response to the reception of the callreleasing request, transmits a call releasing response to thecommunication server (416). The reception of the call releasing responseby the communication server results in terminating the communicationprocessing between the telephone and the communication terminal.

FIG. 13 shows the structure of a voice communication request commandwhich is transmitted when a voice communication request is issued. Afield 501 is assigned to a communication header used by the LANcommunication controller; 502 to an identifier indicative of the voicecommunication request; 503 to the communication terminal address of acommunication terminal itself which transmits the voice communicationrequest; and 512 to the communication address of the other party towhich the voice communication is requested. When the other party to becommunicated is a communication terminal, the communication terminaladdress of the communication terminal is set as the address 512 of theother party. The destination address of such a voice communicationrequest command is the communication terminal address. When the otherparty to be communicated is a telephone, its telephone number is set asthe address 512 of the other party. The destination address of such avoice communication request command is the communication terminaladdress of the communication server. The communication terminal address503 of the communication terminal transmitting the voice communicationrequest may be omitted.

FIG. 14 shows the structure of a voice communication response commandwhich is an answer to the voice communication request. A field 501 isassigned to a communication header like that of the voice communicationrequest command of FIG. 13. A field 504 is assigned to an identifierindicative of the voice communication response; and 505 to a resultindicating whether or not a communication is performed in response to avoice communication request.

FIG. 15 shows the structure of a voice communication command fortransmitting and receiving voice information. A field 501 is assigned toa communication header like that of the voice communication request ofFIG. 13. A field 506 is assigned to a voice communication header usedfor the communication processing, and 507 to encoded voice information.

FIG. 16 shows the structure of a voice communication end notice command.A field 501 is assigned to a communication header like that of the voicecommunication request of FIG. 13. A field 508 is assigned to anidentifier indicative of the voice communication end notice command.

FIG. 17 shows a flow chart of the processing shown in step 203 of FIG. 8and denoted by reference numeral 407 in FIG. 12 for determining acommunication terminal with which a telephone user desires tocommunicate. Given herein as an example is the processing of determininga communication terminal to be communicated by using push buttons of thetelephone.

First, at step 301, an operation guidance saying “Input an extensionnumber through push buttons and depress ‘#’ after the extension number”is outputted to the telephone. Next, at step 302, the input operation ofthe user through the push buttons is awaited, and a tone correspondingto a depressed push button is converted to a numeral and stored. Then,it is determined at step 304 whether or not the input of an extensionnumber is completed by checking whether the tone corresponding to thedepressed push button represents ‘#’. If it is determined that the inputof an extension number is not terminated, the flow returns to step 302to wait for the user to input a numeral through a push button.

At step 304, if the input of an extension number has been terminated,the communication terminal address of a communication terminal havingthe inputted extension number is found from an extension numbermanagement table to determine the address of a communication terminalwith which the telephone user desires to communicate. The extensionnumber management table will be later described in detail with referenceto FIG. 18.

When the communication terminal address can be found at step 305, thiscommunication terminal determining processing is terminated. Conversely,if the communication terminal address cannot be found at step 305, aguidance saying “There is no communication terminal having the inputtedextension number” is outputted to the telephone, and the processing isterminated with a conclusion that a communication terminal with whichthe user desires to communicate was not able to be determined.

The messages outputted at steps 301, 306 may have different contents.Also, the symbol ‘#’ for indicating that the input of an extensionnumber is completed may be replaced with a different symbol. Further,respective communication terminals connected to the LAN may be assignedunique telephone numbers such that a communication is requested with thetelephone number thus assigned from a telephone connected to thetelephone network. In this case, the communication server holdstelephone numbers of all the communication terminals connected to theLAN. In actual processing for realizing this alternative, steps 301-304in FIG. 17 are omitted, and a pertinent communication terminal addressmay be found based on a telephone number inputted from the telephone atstep 305.

FIG. 18 shows the structure of the extension number management tablewhich has been referred to at step 305 in FIG. 17. A column 311 isprovided for the extension number, and column 312 for a communicationterminal address corresponding to the extension number. If thecommunication server holds telephone numbers for a number ofcommunication terminals connected to the LAN, the column 311 for theextension number may be used for storing telephone numbers assigned torespective communication terminals.

FIG. 19 is a flow chart showing another example of the processing shownin step 203 of FIG. 8 and denoted by reference numeral 407 in FIG. 12for determining a communication terminal with which a telephone userdesires to communicate. This example shows how to determine a desiredcommunication terminal by utilizing a communication terminal connectedto the LAN as a switcher terminal.

First, at step 321, a voice communication request is transmitted to theswitcher terminal, and it is determined at step 322 whether or not anaccepting response has been received from the switcher terminal. If theaccepting response has been received, the communication processing isperformed between the switcher terminal and a telephone at step 323.After the termination of the communication processing, by a connectedterminal determination notice received from the switcher terminal, theresult of whether the address of a communication terminal has beendetermined or not is acquired at step 324. When a negating response isreceived from the switcher terminal at step 322, a message saying that aconnection was impossible is outputted to the telephone at step 325,thus concluding that no communication terminal was determined.

FIG. 20 shows a flow chart of the processing performed by the switcherterminal for determining a communication terminal with which acommunication is desired, using the switcher terminal such as theprocessing of FIG. 19.

Steps 101, 102 perform similar processing to the corresponding steps inFIG. 4. Specifically, reception of a voice communication request isawaited at step 101, and when the voice communication request isreceived from the communication server, a call is outputted at step 102.In response to this call output, a switcher receives the call at theswitcher terminal at step 331. Then, a voice communication response isreturned at step 105. This step 105 is the same as step 105 in FIG. 4.

After returning the voice communication response, the switcher has aconversation with a telephone user at step 332 to find out the extensionnumber or name of the other party with whom the user desires tocommunicate, searches the communication terminal address managementtable for the communication terminal address based on the information atstep 333. If the switcher can find the communication terminal address atstep 333, a voice communication end notice is transmitted at step 113 toterminate the conversation with the telephone user. Then, a connectedterminal determination notice including the detected communicationterminal address is transmitted to the communication server at step 334,thus terminating the processing.

If the communication terminal address cannot be found at step 333, theswitcher orally explains the telephone user at step 335 that nocommunication terminal conforming to the user's information has beenfound. Thereafter, a voice communication end notice is transmitted atstep 113 to terminate the conversation with the telephone user, and aconnected terminal determination notice is transmitted to thecommunication server at step 336 for informing that no communicationterminal was determined. Thus, the processing is terminated.

FIG. 21 shows the structure of a connected terminal determination noticecommand. A field 501 is assigned to a communication header like that ofthe voice communication request of FIG. 13; 509 to an identifierindicating that this command is the connected terminal determinationnotice command; 510 to a result indicating whether or not acommunication terminal address has been determined; and 511 to thecommunication terminal address of a communication terminal to beconnected. The communication terminal address 511 is valid only when theresult 510 indicates that the communication terminal address has beendetermined. If the result 510 indicates that the communication terminaladdress has not been determined, the communication terminal address 511is omitted.

FIG. 22 shows the structure of the communication terminal addressmanagement table used when a communication terminal with which the userdesires to communicate is determined by utilizing the switcher terminal,as explained in connection with FIGS. 19-21. Columns 311 and 312 forextension number and communication terminal address are the same asthose in FIG. 18. A column 337 is additionally provided for storingnames of users. This table enables the switcher to search for thecommunication terminal address from the name, when the telephone userinputs the name to specify a person with whom he desires to communicate.

FIG. 23 is a flow chart showing a further example of the processingshown in step 203 of FIG. 8 and denoted by reference numeral 407 in FIG.12 for determining a communication terminal with which the telephoneuser desires to communicate.

Assume, in this example, that the communication network is ISDN(Integrated Services Digital Network). In accordance with the ISDN, avariety of parameters can be set to messages running through the line.Thus, in this example, an extension number specified by the user isadded to user information or communication address in a call settingrequest sent from a telephone, so that the call setting request istransmitted together with the extension number. In the connectedcommunication terminal determination processing of FIG. 23, theextension number in the call setting request is acquired for determininga communication terminal.

First, at step 340, data on extension number is fetched from parametersin the call setting request. Next, at step 341, the communicationterminal address of the pertinent extension number is found from theextension number management table, the structure of which is shown inFIG. 18. When the communication address can be found, it is determinedas the address of a communication terminal to be connected, followed bythe termination of the processing. Conversely, if no communicationterminal address corresponding to the fetched extension number can befound at step 341, the processing is terminated with a conclusion thatthe communication terminal address has not been determined.

As a modified example of the present invention, the LAN communicationcontroller 14 shown in FIG. 2 may be adapted to simultaneously support aplurality of communication protocols, for example, TCP/IP protocol andUDP/IP protocol, such that the voice communication packet is transmittedutilizing the UDP/IP protocol in the processing flows shown in FIGS. 4and 10, and control information such as the voice communication requestcommand and voice communication end notice command shown in FIG. 5 andthe connected terminal determination result notice command shown in FIG.19 are transmitted utilizing the TCP/IP protocol. The appropriate use ofdifferent protocols in this way will prevent a delay in the arrival ofthe voice communication packets and reliably control the start,termination, and so on of the voice communication.

According to the present invention, when the user utilizing acommunication terminal on the LAN inputs a communication terminaladdress, communication terminals on the LAN can directly communicatewith each other without intervention of the communication server. Inaddition, when the user utilizing a communication terminal on the LANinputs a telephone number, a communication between the communicationterminal on the LAN and a telephone connected to a public network isenabled through the communication server which is simultaneouslyconnected to the LAN and public network.

Also, according to the foregoing embodiment, if the user utilizing acommunication terminal on the LAN cannot realize a voice communicationwith a communication terminal on the LAN after attempts of doing so, avariety of mails can be sent to the communication terminal of the otherparty without requiring the user to start another program or input acommunication address.

Further, according to the foregoing embodiment, since the communicationserver which is simultaneously connected to the LAN and public networkprovides a function of specifying a communication terminal from atelephone, the telephone which cannot directly specify a communicationterminal on the LAN can also initiate a call to a communication terminalon the LAN.

1. A voice communication system including a line switching network towhich telephones are connected, a packet switching network to whichcommunication terminals are connected and which has a communicationaddress scheme different from a telephone number scheme of said lineswitching network, and a communication server connected to said lineswitching network and said packet switching network and assigned acommunication terminal, address on said packet switching network,wherein: each of said communication terminals comprises: means fortransmitting a voice communication request when an apparatus with whicha communication is desired is a telephone connected to said lineswitching network, and performing communication control between saidcommunication server and said communication terminal to establish aconnection between said communication terminal and said communicationserver, said voice communication request including the telephone numberof the telephone, and said communication server comprises: means forreceiving a voice communication request transmitted from saidcommunication terminal to the communication terminal address of saidcommunication server, and performing communication control between saidcommunication server and said communication terminal which hastransmitted said voice communication request to establish a connectionbetween said communication server and said communication terminal; meansfor performing communication control between said communication serverand a telephone having a telephone number included in the received voicecommunication request to set said communication server and saidtelephone in a communication available state; and means for receivingvoice information transmitted from the telephone having said telephonenumber, editing said voice information into packets, and transmittingthe packets to said communication terminal, while receiving packetstransmitted from said communication terminal, and transmitting voiceinformation in the packets to the telephone having said telephonenumber.